The present invention generally relates to wireless receivers, and particularly relates to calculating signal combining weights used by wireless receivers for performing symbol detection.
Some kinds of wireless receivers process received data symbols based on a system of linear equations. Take, for example, the Generalized RAKE (G-RAKE) and chip equalizer receivers. The G-RAKE receiver has a plurality of ‘fingers’, each finger correlating to a different delay of a received signal. A spreading waveform correlator included in each finger de-spreads its correspondingly delayed signal using an assigned channelization code. Thus, the received signal is de-spread across a plurality of processing delays. De-spread signal values output by the fingers are combined to form a decision statistic for use in symbol detection. The chip equalizer includes a multi-transversal filter having a tap point for each processing delay employed by the receiver. The delayed signal values output at the different filter taps are similarly combined to form the symbol detection decision statistic.
In both G-RAKE and chip equalizer receivers, the signal values are given by:Y=Hs+U  (1)where Y is a vector of signal values derived using f processing delays (e.g., f G-RAKE finger or filter tap delays), H is a vector of f complex channel responses, s is a symbol of interest and U is a vector of f dependent Gaussian noises (plus interference) having a corresponding impairment covariance matrix Ru. The signal values are conventionally combined using a vector W of combining weights calculated based on a system of linear equations. One such system of linear equations is given by:W=Ru−1H  (2)
Generally, the combining weights are calculated by inverting the entire impairment covariance matrix Ru. The number of signal processing computations needed to invert the entire impairment covariance matrix Ru can range from N2 to N3 computations depending on how matrix inversion is performed, where N is the matrix order. Matrix order is a function of the number of processing delays employed by the receiver. For example, if ten processing delays are employed, the impairment covariance matrix is 10×10 and approximately 102 to 103 computations are performed to invert the matrix. In general, the computational complexity of the receiver exponentially increases as a function of the number of processing delays used by the receiver. Yet, hardware limitations restrict the computational complexity of most receivers. This in turn effectively limits the number of processing delays that can be implemented by most receivers.